package com.jcx.ldzj.utile;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class StringUtile {
    /**
     * 判断这个字符串是否为空，若为空返回false
     * @param var
     * @return
     */
    public static boolean isNotNull(String var){
        if(isNull(var)||"null".equals(var)||"NULL".equals(var)){
            return false;
        }
        return true;
    }

    /**
     * 判断这个字符串是否为空，若为空返回true
     * @param var
     * @return
     */
    public static boolean isNull(String var){
        if("".equals(var)||var==null){
            return true;
        }
        return false;
    }

    /**
     * String字符串逗号分隔转成集合
     * @param var
     * @return
     */
    public static List<String> StringToList(String var){
        if(!isNotNull(var)){
            return new ArrayList<>();
        }
        return Arrays.asList(var.split(","));
    }

    /**
     * 对字符串进行格式化
     * @param str
     * @param obj
     * @return
     */
    public static String format(String str,Object[] obj){
        if(isNull(str)){
            return null;
        }
        for (int i=0;i<obj.length;i++){
            str.replace("{}", obj[i].toString());
        }
        return str;
    }


    /**
     * 对字符串进行拆分
     * @param str
     * @param symbol
     * @return
     */
    public static String[] split(String str,String symbol){
        if(!"".equals(symbol)){
            return str.split(symbol);
        }
        if(str==null||"".equals(str)){
            return new String[0];
        }
        String[] strings= new String[str.length()];
        for (int i=0;i<str.length()-1;i++){
            strings[i]=str.substring(i,i+1);
        }
        strings[str.length()-1]=str.substring(str.length()-1,str.length());
        return strings;
    }
    /**
     * 对字符串进行拆分
     * @param str
     * @return
     */
    public static String[] split(String str){
        return split(str,null);
    }
    /**
     * 将字符串数组转成字符串，可以进行分割
     * @param index
     * @param symbol
     * @return
     */
    public static String inpull(String[] index,String symbol){
        if(index==null||"".equals(index)||index.length==0){
            return "";
        }
        StringBuffer str=new StringBuffer();
        for (int i=0;i<index.length;i++){
            str.append(index[i]);
            if(i!=index.length&&symbol!=null){
                str.append(symbol);
            }
        }
        return str.toString();
    }
    /**
     * 将字符串数组转成字符串，可以进行分割
     * @param index
     * @return
     */
    public static String inpull(String[] index){
        return inpull(index,null);
    }


    /**
     * 是否包含字符串
     *
     * @param str  验证字符串
     * @param strs 字符串组
     * @return 包含返回true
     */
    public static boolean inStringIgnoreCase(String str, String... strs) {
        if (str != null && strs != null) {
            for (String s : strs) {
                if (str.equalsIgnoreCase(trim(s))) {
                    return true;
                }
            }
        }
        return false;
    }
    /**
     * 去空格
     */
    public static String trim(String str) {
        return (str == null ? "" : str.trim());
    }
}
